package jdbc;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 实现登录功能
 * 要求:程序启动后要求用户在控制台上输入用户名和密码
 * 使用该信息与userinfo表中记录进行匹配，如果都输入正确则提示登录成功
 * 否则登录失败
 *
 * 大致步骤:
 * 1:获取用户输入的用户名和密码
 * 2:根据该用户名和密码去userinfo表中作为过滤条件查询记录
 * 3:如果可以查询到则表示登录成功，否则登录失败
 *
 * SELECT id,username,password,nickname,age
 * FROM userinfo
 * WHERE username='用户输入的' AND password='用户输入的'
 *
 */
public class LoginDemo {
    public static void main(String[] args) {
        LoginUserInfo loginUserInfo
                = InputUtil.getInputObject(new LoginUserInfo(),"欢迎登录");

        try (
                Connection connection = DBUtil.getConnection();
        ){
            Statement statement = connection.createStatement();
            String sql = "SELECT id,username,password,nickname,age " +
                    "FROM userinfo " +
                    "WHERE username='"+loginUserInfo.getUsername()+"' " +
                    "AND password='"+loginUserInfo.getPassword()+"'";
            System.out.println(sql);
            ResultSet rs = statement.executeQuery(sql);
            if(rs.next()){
                String nickname = rs.getString("nickname");;
                System.out.println("登录成功，欢迎回来:"+nickname);
            }else {
                System.out.println("登录失败,用户名或密码不正确");
            }

        } catch (SQLException e) {
            throw new RuntimeException(e);
        }

    }
}
